# 目标名: 前置依赖列表
# 	命令1
# 	命令2
# 	命令3

# 定义变量
# objects := main.o hello.o
# objects := main.o \
# 		hello.o
objects := main.o
objects += hello.o

# 定义生成main.o的目标
main.o: main.c hello.h
	gcc -c main.c -o main.o

# 定义生成hello.o的目标
hello.o: hello.c
	gcc -c hello.c -o hello.o

# 定义生成main的目标
main: $(objects)
	gcc $(objects) -o main
	./main

# 定义伪目标
.PHONY: clean

# 清除不需要的文件
clean:
	rm main $(objects)

clean1:
	rm main.o
	rm hello.o
	rm main

clean2:
	-rm main.o
	-rm hello.o
	-rm main